// 引入资源
import Vue from 'vue'
import Vuex from 'vuex'

// 导入分离出去的模块
import mutations from './mutations'
import actions from './actions'
import girl from './modules/girl'

Vue.use(Vuex);

// 创建实例
const store = new Vuex.Store({
    state: { // 类似组件中的data，用来存数据和初始化数据
        name: 'Tom',
        age: 18,
        hasWude: true,
        money: 1,
        uName: '' // 极果网的用户名-土豆
    },
    getters: { // vuex版本的计算属性，也是依赖缓存，当原始数据更新时代码也会重新执行
        nextAge(state) {
            console.log('getters');
            return state.age + 1
        }
    },
    mutations,
    actions,
    modules: { // 将文件进一步拆分，每个modules都可以包含前面的四个核心。一个modules就是一个完整的个体
        boy: {
            state: {
                boyName: 'Timor',
                boyAge: 19
            }
        },
        girl
    }
})

export default store